package tipoVendedor;

import java.util.List;
import persistencia.DAOException;
import persistencia.DAOFactory;
import persistencia.RNException;

public class TipoVendedorRN {

	private TipoVendedorDAO tipoVendedorDAO = DAOFactory.getTipoVendedorDAO();
	private TipoVendedorDAOHibernate tipoVendedorDAOHibernate = new TipoVendedorDAOHibernate();

	public void salvar(TipoVendedor tipoVendedor) throws RNException {
		try {
			tipoVendedorDAO.getSession().beginTransaction();
			tipoVendedorDAO.save(tipoVendedor);
			tipoVendedorDAO.getSession().getTransaction().commit();
		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}

	public List<TipoVendedor> listar() throws RNException {

		try {
			return tipoVendedorDAO.findAll();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}

	public void deletar(TipoVendedor tipoVendedor) throws RNException {
		try {
			tipoVendedorDAO.getSession().beginTransaction();
			tipoVendedorDAO.delete(tipoVendedor);
			tipoVendedorDAO.getSession().getTransaction().commit();

		} catch (DAOException e) {
			e.printStackTrace();
			throw new RNException();
		}
	}
	
	public TipoVendedor buscaPorId(int id){
		return tipoVendedorDAOHibernate.buscarPorId(id);
	}
	
	public TipoVendedor buscaPorDescricao(String descricao){
		return tipoVendedorDAOHibernate.buscarPorDescricao(descricao); 
	}

}
